home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 12 C64 Telecom / DTERM4.DOC < prev    next >
Encoding:
Text File  |  2019-04-13  |  38.0 KB  |  1,189 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                          DarkTerm V4.0 - By Alan Peters
  7.                          ------------------------------
  8.  
  9.                        (C) 1986 DarkStar Systems Software
  10.  
  11.  
  12.  
  13.              NOTE: This program is in the public domain, and may be
  14.          given away, but may NOT be sold, nor may the main code be
  15.          altered in any way.
  16.  
  17.  
  18.              DarkTerm 4.0 is yet another enhancement of the previous
  19.          version, 3.0. This new version is more compact, and offers
  20.          some new features:
  21.  
  22.              - Xmodem Sum and Xmodem CRC protocols, with automatic
  23.          padding removal, and CIS .IMG removal.
  24.              - Multi-Page phone directory with multi-number sequence
  25.          dialing.
  26.              - New editor link file, for sequential text editing.
  27.              - Modem Modules, files that contain all the basic modem
  28.          communications routines, so that compatibility may be offered
  29.          to the benefit of the user.
  30.              - Accurate 1200/2400 baud rates, with a 200-600 baud
  31.          range as well.
  32.              - Increased buffer capacity (32k).
  33.  
  34.              This version was designed to go along with the DarkStar
  35.          System 3 BBS programs, 2 very powerful, all ml BBS's that run
  36.          in FULL color, or ASCII. If you want more info on these great
  37.          programs, see the end of the docs.
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                               Loading The Program
  74.                               -------------------
  75.  
  76.              V4.0 will load off any type of drive and off any device
  77.          number, as long as the drive number is "0", not "1". Type
  78.          LOAD"DARKTERM 4.0",device #,1 to load this program. After
  79.          loading, the program will be set up according to DT4.SETUP
  80.          file. If that file does not exist, or it does exist in it's
  81.          original format, then the term will operate on the default
  82.          settings that these docs are based on.
  83.              The program has 2 modes of operation. The first status
  84.          indicator at the bottom right will be either inversed, or
  85.          normal. If it is inversed, you will be in command mode, where
  86.          all commands that use the Commodore (C=) key will be
  87.          functional, as will be the function keys. Otherwise, all
  88.          commands and function keys are inoperative. Use SHIFT/RETURN
  89.          to toggle between command mode, and normal mode. To do
  90.          anything on the terminal, you will usually have to be in
  91.          command mode.
  92.              That same indicator will be either an A or a C indicating
  93.          ASCII or COLOR terminal modes. SHIFT RUN/STOP will toggle
  94.          between color and ASCII. Color mode is the same as it always
  95.          was with previous DarkTerms, but it never hurts to refresh
  96.          memories, so:
  97.  
  98.              C= 1-8 and CTRL 1-8 will change the cursor color.
  99.              F1 and a color key (ie., F1, then CTRL-1) will set the
  100.          border color.
  101.              F3 and a color key will set the background color.
  102.              F5 and a color key will set the foreground color.
  103.              CTRL-I enables the UPPER-CASE/GRAPHICS character set at
  104.          $E000 (57344).
  105.              CTRL-H enables the UPPER & LOWER CASE character set at
  106.          $E800 (59392).
  107.              CTRL-G is the bell tone.
  108.              Cursor Up, Down, Left, Right, Clear, Home, RVS On/Off all
  109.          operate like the normal 64 screen editor.
  110.              RETURN will remove all characters on that line after the
  111.          point of return.
  112.              INSERT will insert only on the current line; the same
  113.          goes for delete.
  114.  
  115.              The ASCII mode may not appear to be ASCII when you are in
  116.          half duplex, and you try typing. But it is, despite the fact
  117.          that you can cursor around.
  118.              NOTE: You can NOT send screen colors with F1/F3/F5 when
  119.          you are in command mode, or you will send a function key
  120.          string.
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.                                Status Indicators
  139.                                -----------------
  140.  
  141.          00:00a 00:00:00 32768 01-01 A:B:H:I:U:W
  142.            1        2      3     4   5 6 7 8 9 0
  143.  
  144.  
  145.              1: Clock. Standard Am/Pm clock.
  146.              2: General purpose timer. This timer will be cleared
  147.          whenever a carrier is detected from auto dial or auto answer.
  148.              3: Buffer Bytes Free. This is 32768 bytes when there is
  149.          no phone directory in memory. This will count down to zero,
  150.          and stop if it gets there.
  151.              4: Cursor row/column position. This is for the benefit of
  152.          color mode, when one wishes to screen map when writing
  153.          messages on the CBBS, or use hidden cursor movement.
  154.              5: ASCII/Color and Command Mode status. As explained
  155.          above.
  156.              6: Buffer open/close. Use C= O to open and close the
  157.          buffer. The buffer is open when the status flag is inversed.
  158.              7: Hide Screen Output. Use C= H to toggle. When inversed,
  159.          all output to the screen is suppressed. However, if the
  160.          buffer is open, data will still be sent to the buffer. This
  161.          is useful for buffering data that you don't want visible on
  162.          the screen.
  163.              8: Modem Input/Output Inhibit. Use C= I to toggle. When
  164.          inversed, all input and output with the modem will be put on
  165.          hold, while the carrier will remain in it's current state.
  166.              9: Upper Case Lock. Use C= U to toggle. All letters from
  167.          A-Z will be in CAPS when this flag is inversed.
  168.              0: Word Wrap. If you are logged onto a system that runs
  169.          at 80, 132, 160, or some other screen column format more than
  170.          40, then use C= W to enable wordwrap, and no words will be
  171.          broken up on the right side of the screen.
  172.  
  173.              There are several other commands available, and each will
  174.          be described in detail.
  175.              When in a sub-menu of any command, use the RETURN key to
  176.          get back to terminal mode, and if that doesn't work, use the
  177.          STOP key to return.
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.                          Auto Dial / Auto Answer (C= A)
  205.                          ------------------------------
  206.  
  207.              Both auto dial and answer work according to the routines
  208.          in the modem module file. See the notes at the end for how to
  209.          create a modem module. Auto dialing here will only dial one
  210.          number at a time, and will redial that number until a carrier
  211.          is detected, or the STOP key is hit to abort dialing. A  .
  212.          string of 18 digits is acceptable for input. In the 1650
  213.          version, only numbers are dialed, and all other characters
  214.          are skipped. Auto answer will answer at the current baud rate
  215.          until a carrier is detected, or the STOP key is used
  216.          abort. If you want multiple autodialing, use C= P and the
  217.          phone directory.
  218.  
  219.  
  220.                              Buffer Options (C= B)
  221.                              ---------------------
  222.  
  223.              <A> Append Buffer To File.
  224.              <C> Clear Buffer.
  225.              <E> Edit Buffer (See Below).
  226.              <L> Load File Into Buffer.
  227.              <M> Merge (Add) File To Current Buffer Contents.
  228.              <P> Print Buffer. (ASCII Or Normal).
  229.              <R> Review Buffer (See Below).
  230.              <S> Save Buffer.
  231.              <T> Transmit Buffer.
  232.  
  233.              B:00000 - Buffer Byte Count.
  234.  
  235.              Transmitting buffer contents will operate according to
  236.          the transmit delay factor set in modem options (see C= M).
  237.          When you turn on transmit buffer, you will be returned to
  238.          color/ascii terminal mode, and the buffer will begin to send.
  239.          You will most likely need a delay factor when sending, or the
  240.          data may be garbled when sending pre-written messages to a
  241.          BBS. The CBBS-3 can usually accept text with an xmit delay of
  242.          50 or less. Once the buffer xmits, you can use any command
  243.          mode keys, since the buffer transmit is running in the
  244.          background. Use SPACE to pause buffer send, and STOP to
  245.          abort. You may not send a buffer IF: you are sending a
  246.          function key, or, you have the buffer already open to accept
  247.          data.
  248.              Editing a buffer operates in the same manner as writing a
  249.          message with CBBS-3. You will be placed in the editor, and
  250.          anything you type will be buffered. You may write color
  251.          messages, using screen colors, etc., as described above, or
  252.          anything else. When you are writing text, the message "Buffer
  253.          Edit On..." will be displayed. To exit buffer edit, use the
  254.          STOP key. If you want to delete the current character from
  255.          the buffer, then use CTRL-D, NOT delete, as delete will be
  256.          buffered.
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.              When you are in the editor, you may not be at the end of
  271.          the text data that it contains. Ie., if you write some text,
  272.          exit, then select edit again, you will be at position 0,
  273.          where the text may be at position 1234, the end of the data.
  274.          Thus, entering any data now will in effect overwrite anything
  275.          currently at that position. Using CTRL-D Now will erase the
  276.          byte at position 0, and shift the entire buffer after that,
  277.          from 1-1234, one position down, until the entire buffer has
  278.          been justified. I will not explain what happens; you will
  279.          have to try it yourself. Also, CTRL-X may also exit like
  280.          STOP, BUT this has the effect of TRUNCATING the remainder of
  281.          the buffer data, from the current position onwards.
  282.              When you are in review mode <R>, you will be able to read
  283.          the buffer, but you may STOP at any point using the SPACE
  284.          bar, or abort using STOP. CTRL-X will allow you to re-enter
  285.          the buffer at the position you stop at when you hit CTRL-X.
  286.          Note that the character position stopped at is actually one
  287.          past the point of re-entry. Ie., you hit CTRL-X in the middle
  288.          of the word "commodore", stopping at the letter "m", so the
  289.          buffer end looks like "com". You must enter "m" again, to
  290.          preserve that last displayed character.
  291.              If you review ALL the text, then you will be placed  into
  292.          edit mode at the end of the review. This allows you to
  293.          continue messages that you have previously left off  earlier.
  294.          If you want to do formal text editing, use a wordpro, or the
  295.          edit link.
  296.              When using disk i/o with the buffer, note the bytes free
  297.          counter at the bottom.
  298.  
  299.  
  300.                         Change Terminal Settings (C= C)
  301.                         -------------------------------
  302.  
  303.              Although only 15 options are displayed here, the
  304.          parameter file DT4.SETUP will actually save 80 bytes of data
  305.          to disk. First, the 15 shown with C= C.
  306.  
  307.              Modem File. This is the name of the file you want to use
  308.          to control the autodial, answer, off-hook, and on-hook
  309.          routines. All modem modules must be created at the expense of
  310.          you, he user. You must have some experience with
  311.          assembler/ml to create one. I myself have only provided ones
  312.          for the 1650 and 1670, and even these may not suit your
  313.          tastes. When you enter the name of the new file, save the
  314.          parameters back. The modem file will NOT boot up. You will
  315.          have to re-boot to initialize the term for a new modem file.
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.              Function Key File. For the 16 function keys in the term,
  337.          F1-F8, and C=1-C=8, you may load any default key file you
  338.          want off disk. This file will be loaded up when you re-boot
  339.          next time, or every time you hit RUN/STOP - RESTORE (Note:
  340.          Run/Stop Restore will reset the terminal program in case of
  341.          lock-up, but it will not be a complete reset that loads all
  342.          the default files back in).
  343.              Function keys are sent via terminal mode, color or ascii.
  344.          You must be in command mode to send a function key string.
  345.          You may use AT commands in the function keys if you have a
  346.          smart modem. Key strings will be sent on a delay factor like
  347.          buffer xmit. Also, you may not send a key string if the
  348.          buffer is open, or you are xmitting the buffer. If you do not
  349.          want to use a function key file, just use any file name that
  350.          won't appear on the disk.
  351.              Character Set. This will be the name of the default
  352.          character set to load at boot up time. Using the name "rom"
  353.          will set the characters to the normal text display you see,
  354.          and will not load any custom character sets.
  355.              Protocol. V4.0 uses both Punter and Xmodem. The xmodem is
  356.          automatic, meaning that a CIS .IMG header will be stripped
  357.          off the first block if found, and any padding on the last
  358.          block will be stripped off before it is written to the disk
  359.          This version was written by me, with the exception of the
  360.          double buffering, which was found in a P.D. Merlin Source
  361.          file of Xmodem 6.0, by MicroTechnic Solutions.
  362.              Xmodem  will operate in both CRC and Xmodem. When
  363.          receieving a file, the term MAY be in CRC or SUM despite the
  364.          setting, depending on what mode the sender is using. when
  365.          sending, the setting here determines the mode.
  366.              The Punter protocol is the new 8 bit C1.v2 version
  367.          written by Steve Punter. I have made slight mods to it to
  368.          accomodate relocation, on screen buffering, and my unique
  369.          multi-transfer system. When setting the protocol, the files
  370.          DT4.PROTO-P or DT4.PROTO-X will be loaded from disk. Be  sure
  371.          it is on the current disk! Once you set the protocol, it will
  372.          be used as the default when re-booting, provided you save the
  373.          setup back.
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.              Phone Directory Pages. V4.0 uses a variable length phone
  403.          directory. Each page will  reduce the buffer size by 800
  404.          bytes. Each time you change the value here, the buffer will
  405.          be cleared, and reset, thus erasing all previous data,
  406.          including a previous phone directory. Each page contains 20
  407.          numbers. The number of pages range from 0 (no directory) to
  408.          10, which gives a full 200 number phone directory. This cuts
  409.          the buffer down 25%, but still leaves ample room.
  410.              Block Size. This is for the Punter protocol only. Values
  411.          can be from 40 to 255, which is the maximum. This value is
  412.          the number of disk file bytes (+header info) to send for each
  413.          block. Thus smaller block sizes mean more blocks to send.
  414.              Time. Your standard 12 hour Am/Pm clock. When you want to
  415.          change it however, you MUST enter 4 digits only. This will be
  416.          an hour-minute (HHMM) militairy time value. ie., midnight is
  417.          "0000", noon is "1200", 3 pm is "1500", and 9 am is "0900".
  418.              Printer Device #. Values from 4 to 7 are ok.
  419.              Printer Secondary Address. Values from 0 to 99 are ok. 0
  420.          is upper/case graphics, 7 is upper/lower case mode on a CBM
  421.          printer.
  422.              Disk Device #. Upon bootup, it is the device # of the
  423.          drive you loaded the program from. Values from 0 to 99 are
  424.          ok, but not recommended.
  425.              Keyclick & Bell Tone. Since both have the same type of
  426.          input, I'll explain both at the same time.
  427.              The first character is an "E" for enabled, or a "d" for
  428.          disabled. Use lower case "e" or "d" as the first input
  429.          character, The second character is the waveform, either
  430.          T (Triangle), S (Sawtooth) or N (Noise). No Pulse Waveforms
  431.          as I didn't want to deal with pulse width. Use T, S, or N as
  432.          input. The last 3 bytes are the frequency high byte, which
  433.          has a range from 0-255. Example inputs: "ET80", "DN000",
  434.          "ES145", etc.
  435.              Dial Speed Delay. This is the number of MilliSeconds to
  436.          delay between pulses with the 1650 modem when autodialing.
  437.          10 pps would work out to a delay of 1000/10 or 100 Milli-
  438.          Seconds. 20 pps, the default, would be 1000/20, or 50 for a
  439.          delay factor. Ranges can be from 0-999. With the 1670 module,
  440.          a delay of 0 will TONE dial the modem, and any non-zero value
  441.          will pulse dial the modem. If you write your own modem
  442.          module, you will not need this value, or the next 2.
  443.              Carrier Wait Delay. Because of line noise, long distance
  444.          connect delays, etc., the 1650 modem will not look for a
  445.          carrier until after this amount of time has elapsed.
  446.              Hangup Delay. Before the start of each 1650 autodial, the
  447.          modem is put on hook for this amount of time to ensure that
  448.          the phone has been hung up. Both this and the above value can
  449.          range from 0 to 99 seconds.
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.              When saving the SETUP file back, the following info will
  469.          be used as the defaults for the term whenever you re-boot:
  470.  
  471.              -Modem File
  472.              -Function Key File
  473.              -Character Set File
  474.              -Protocol
  475.              -Phone Directory Pages
  476.              -Printer Device & Secondary Address
  477.              -Key Click Status
  478.              -Bell Tone Status
  479.              -Pulse Dial Delay
  480.              -Hangup And Carrier Detect Delays
  481.              -Current Screen Colors
  482.              -Command Mode Status (En/Dis-Abled)
  483.              -ASCII Or Color Mode
  484.              -Upper Case Lock
  485.              -Word Wrap Enable
  486.              -Line Feed Status
  487.              -Number Of Nulls
  488.              -Transmit Delay
  489.              -Baud Rate
  490.              -Stop Bits, Word Length, Parity
  491.              -Buffer Speed Flag
  492.              -Carrier Detect Flag
  493.  
  494.  
  495.                               Disk Commands (C= D)
  496.                               --------------------
  497.  
  498.              Before and after every disk access, the command channel
  499.          is checked for disk errors. The error channel status will be
  500.          displayed at the bottom status line. Enter all commands in
  501.          the normal disk command style:
  502.  
  503.              n0:file name - soft new
  504.              n0:file name,id - hard new
  505.              s0:file name,file name,etc - scratch
  506.              r0:new name=0:old name - rename
  507.              c0:new file=old file,old file2,etc - copy/concatenate
  508.              i0 - initialize
  509.              v0 - validate
  510.              u; - reset drive
  511.  
  512.              Use "$" to read the disk directory, SPACE to pause, and
  513.          STOP to abort. $pattern, ie., "$dt4*" will read the directory
  514.          according to dos pattern matching.
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.                               File Options (C= F)
  535.                               -------------------
  536.  
  537.              <R> Read A File.
  538.              <P> Print A File (Ascii Or Normal).
  539.              <E> Edit A File.
  540.              <X> Extract From File.
  541.              <T> Transmit File Over Modem.
  542.  
  543.              When transmitting a file (or buffer), it will be sent as
  544.          ascii or color (normal) depending on whether you are in color
  545.          terminal mode, or ascii. Transmit follows the delay factor
  546.          like buffer xmit. Use SPACE to pause, and STOP to abort. The
  547.          file will be displayed regardless of duplex, as all
  548.          characters received from the modem will be discarded during
  549.          the transmit.
  550.              Extracting a file involves 2 passes. You will take a
  551.          source file, and scan it on the first pass, to locate the
  552.          line range you want (There is no provision for simultaneous
  553.          extracts). When you have the desired line range, you will
  554.          extract it to the destination file. You may use SPACE to
  555.          pause pass 1 (Scan), and STOP to abort to pass 2. During pass
  556.          2, the source file will be scanned for the range, and then
  557.          written out to disk. I have provided device 8 to 8 and device
  558.          8 to 9 extracts (NOTE: Source device is always 8, no matter
  559.          what the terminal settings say). Using device 8 to 9 gives
  560.          very fast results. You may abort pass 2 with the STOP key.
  561.              When you want to Edit a file, you must load in the edit
  562.          link file (DT4.EDLINK). Once loaded, the text editor will run
  563.          by itself. This editor is very simple, and is not designed
  564.          for professional formatted output; I put it in for the use of
  565.          making pre-written messages to send to BBS's. It is slightly
  566.          different then the version that was in V3.0.
  567.              When reading a file, use SPACE to pause, and STOP to
  568.          abort. When printing a file, use STOP to abort.
  569.          fp
  570.              EditLink Commands
  571.              -----------------
  572.  
  573.              Use the F7 key to select any of the following functions:
  574.  
  575.              <A> Append buffer to file.
  576.              <C> Toggle caps lock.
  577.              <D> Disk directory.
  578.              <E> Erase lines from current position.
  579.              <L> Load file to buffer.
  580.              <M> Merge file with buffer.
  581.              <P> Print buffer (sec addr = 7!).
  582.              <S> Save buffer to file.
  583.              <X> Exit back to DarkTerm 4.0.
  584.              <$> Send DOS command.
  585.              <#> Change drive device #.
  586.              <+> Insert Line.
  587.              <-> Delete Line.
  588.              Cursor Up will fast scroll up.
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.              Cursor Down will fast scroll down.
  601.  
  602.              You may only work with SEQ files. The buffer capacity is
  603.          680 lines.
  604.              Cursor keys will scroll thru the range of the buffer.
  605.              Insert and DELETE will ONLY work with the current line,
  606.          as does delete. Use a wordpro for better line control. This
  607.          is a 40 column editor.
  608.              Home will move to line 0.
  609.              Clear will move to the last line.
  610.              The current work line is always fixed and highlighted in
  611.          the middle of the screen. The buffer will scroll through this
  612.          line.
  613.              Use F1, F3, and F5 to change the 3 text colors. Use F2
  614.          and F4 for the border and background colors.
  615.              NOTE: the edit link resides at the start of the buffer;
  616.          all data in the buffer will be cleared. Also, any current
  617.          phone directory will be removed.
  618.  
  619.  
  620.                            Alter Function Keys (C= K)
  621.                            --------------------------
  622.  
  623.              Each of the 16 function key strings can be up to 31
  624.          characters + an optional carriage return. enter the key you
  625.          want to change for editing any of them. Use that key (F1-8,
  626.          C= 1-8) when in terminal mode & command mode to send the key
  627.          string. AT commands may be sent in this way. Function key
  628.          strings use the same transmit delay as buffer and file xmit
  629.          do.
  630.  
  631.  
  632.                            Load Character Set (C= L)
  633.                            -------------------------
  634.  
  635.              Any character set may be used, but it must havee a load
  636.          address of 53744 ($E000). I recommend a full, 512 character
  637.          bank, since the CBBS-3 uses both sets simultaneously. If  you
  638.          use "rom" as the file name, you will get the standard ROM
  639.          character bank. You must still set the character set file
  640.          name with C= C if you want to make this set the default.
  641.  
  642.  
  643.                               Modem Setting (C= M)
  644.                               --------------------
  645.  
  646.              You will see the status line change to the modem status
  647.          line:
  648.  
  649.          B:0300 1:8:N B:C:D:0:050:NONE:--------
  650.             1   2 3 4 5 6 7 8  9   0      A
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.              1:Baud Rate. 200-600, 1200, or 2400 (NOTE: V 3.0 had a
  667.          1200 baud timing bug that was corrected here).
  668.              2:Stop Bits (1 or 2).
  669.              3:Word Length (5-8).
  670.              4:Parity (None,Odd,Even,Mark,Space).
  671.              5:Buffer Speed Flag (Inversed = full speed). When using
  672.          <R> in the buffer options to review the buffer, the speed at
  673.          which the buffer is displayed is determined by this flag. The
  674.          buffer will be displayed at either full speed, or the speed
  675.          at which the current baud rate is set at. Using "S" during
  676.          the buffer read will toggle this flag as well.
  677.              6:Carrier Detect Flag. When enabled, no file transfers
  678.          will occur without a carrier, and, if a carrier is lost
  679.          during a file transfer, the transfer will be aborted, and you
  680.          will be notified of the loss of carrier.
  681.              7:Duplex. Full duplex is the normal BBS-terminal
  682.          operation mode. When inversed, you will be in half duplex,
  683.          and all data is echoed back to the screen.
  684.              8:Nulls. After each carriage return, a number of nulls
  685.          (Ascii 0) will be sent over the modem to slow down
  686.          transmission to the system you are connected to. Values run
  687.          from none to 9.
  688.              9:Transmit Delay. When sending a buffer, function key, or
  689.          file over the modem, the host may not be able to receive the
  690.          data as fast as you send it. So, you should use a delay
  691.          factor to insert a pause between each character as it is
  692.          sent. If you intend to buffer messages to a CBBS-3, use a
  693.          xmit delay between 50-200, although in some cases, 0 might
  694.          work. This delay time is in MilliSeconds per each character.
  695.              0:Linefeed Status:
  696.                IN:All linefeeds (ascii 10) received will be converted
  697.          to carriage returns.
  698.                OUT:All carriage returns sent will be converted to line
  699.          feeds when they occur. Note that this is not the same as
  700.          adding a line feed after a carriage return.
  701.                BOTH: Both of the above.
  702.                NONE: No line feeds will be checked for
  703.              A:When you go on-hook, or off-hook, the message will be
  704.          displayed here.
  705.  
  706.              To Change:                Use:
  707.              Baud Rate                 B
  708.              Stop Bits                 S
  709.              Word Length               W
  710.              Parity                    P
  711.              Buffer Speed Rate         R
  712.              Carrier Detect Flag       C
  713.              Duplex                    D
  714.              Nulls                     N
  715.              Transmit Delay            T
  716.              Linefeed Status           L
  717.              Off-Hook (On-Line)        +
  718.              On-Hook (Off-Line)        -
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.                              Phone Directory (C= P)
  733.                              ----------------------
  734.  
  735.              V4.0 has a multi-dial, multi-page phone directory. This
  736.          phone directory has the following characteristics:
  737.  
  738.              -1 to 10 pages, each containing 20 numbers, including a
  739.          20 character description, and an 18 character number string.
  740.              -When loading or saving a phone directory, the file
  741.          format is SEQ, and is a 40 column standard text file. You may
  742.          thus edit this file with any standard text editor, including
  743.          the edit link, if you do not want to use the <E>dit option.
  744.              -When using the phone book, you must make sure that you
  745.          have enough pages allocated for the size directory you will
  746.          want to load in.
  747.              -Up to 32 numbers may be dialed at one time, in the order
  748.          that they are chosen with the (G)et command. After all
  749.          numbers have been dialed once, they will be re-dialed until
  750.          you enter STOP to abort auto-dialing.
  751.              -The 18 character input string is exactly the same as
  752.          that with the C= A command, and will use the same auto dial
  753.          routine.
  754.  
  755.              Directory Commands:
  756.  
  757.              P:0 - Current Page #
  758.              S:00 - Total numbers selected for dialing.
  759.              <C> Clear all selected numbers.
  760.              <D> Begin the multi-dial sequence. Note that T:000 is the
  761.          try counter, and N:..... is the current number.
  762.              <E> Edit numbers on current page. Use the cursor up/down
  763.          keys to highlight the # you want to edit, then hit return.
  764.          You will then have to enter a number, and a description. Hit
  765.          return to select more numbers on the current page. Use STOP
  766.          to exit the edit option.
  767.              <G> Get Numbers. Select the numbers you want to dial like
  768.          you did with <E>. Start at the numbers you want to dial
  769.          first, then continue up to 32. If you want to remove a number
  770.          if it is selected, then just hit return at it's position, and
  771.          the number will be removed from the selected list. When a
  772.          number is selected, an asterisk will appear between the
  773.          number and description.
  774.              <L> Load directory file.
  775.              <N> Dial a single number (Same as dialing using C= A).
  776.              (S) Save current directory.
  777.               (+) Increment page.
  778.               (-) Decrement page.
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.                            Reset Clock / Timer (C= R)
  799.                            --------------------------
  800.  
  801.              Very simple, eh?
  802.  
  803.  
  804.                             Set Screen Colors (C= S)
  805.                             ------------------------
  806.  
  807.              This one is simple too, just use the number keys, 1-3.
  808.  
  809.  
  810.                           File Transfer Options (C= T)
  811.                           ----------------------------
  812.  
  813.              <1> Single File Upload.
  814.              <2> Single File Download.
  815.              <3> Multi File Upload.
  816.              <4> Multi File Download.
  817.  
  818.              NOTE: The multi transfer modes are designed and built
  819.          into the Punter protocol, and will NOT work with Xmodem, so
  820.          remember to change the protocol to Punter when
  821.          multi-transferring.
  822.              The file status line will appear as follows:
  823.  
  824.              P:FILE NAME:123:SU:B-0000:F-000
  825.              1     2      3   4    5      6
  826.  
  827.              1:File Type.
  828.              2:File Name.
  829.              3:File Size.
  830.              4:Transfer Mode:
  831.                SU:Single Upload
  832.                SD:Single Download
  833.                MU:Multi Upload
  834.                MD:Multi Download
  835.              5:Blocks Left (Multi Only).
  836.              6:Files Left (Multi Only).
  837.  
  838.              Use the STOP key to abort any file transfer. Xmodem
  839.          protocol was explained before. The multi-file transfer mode
  840.          is unique, and guaranteed to work error free. It will not
  841.          work with any other term. Source code for the multi-transfer
  842.          method is available on request.
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.                               Exit Program (C= X)
  865.                               -------------------
  866.  
  867.              Very simple too, will exit to BASIC.
  868.  
  869.                           Command Mode Summary (C= Z)
  870.                           ---------------------------
  871.  
  872.              Gives a color file of all commands in command mode
  873.          (DT4.HELPME).
  874.  
  875.  
  876.              The last few commands are: C= * (Clear the buffer), C= \
  877.          (Pound) (Send ASCII delete (127)), and CTRL ; (Send ESCape).
  878.  
  879.  
  880.              The remainder of the docs explain how to create a modem
  881.          module, which will be followed by info on the DarkStar BBS
  882.          Systems-3.
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.                              Creating A Modem File
  931.                              ---------------------
  932.  
  933.              A modem file is a small machine language file that
  934.          handles 4 basic modem communications routines:
  935.  
  936.              1. Auto-Dial    - $4600
  937.              2. Auto-Answer  - $4603
  938.              3. Off-Hook     - $4606
  939.              4. On Hook      - $4609
  940.  
  941.              You should use an assembler to create a modem file, and
  942.          you must follow certain guidelines and restrictions when
  943.          making one. I have provided PAL source code for both the 1650
  944.          and 1670 modem files, and I have also supplied an equates
  945.          file of the entire terminal program, to indicate what the
  946.          terminal program uses, and what it doesn't.
  947.  
  948.              The file may not go past $4A00, therefore, you have up to
  949.          1K of space to create the file. You may access any one of 10
  950.          routines used by DarkTerm, found in a jump table at $0900.
  951.          The 10 routines are:
  952.  
  953.              $0900 - Print current character in accumulator. This is
  954.          not $FFD2, but the routine that prints to the custom split
  955.          screen thru my screen editor.
  956.              $0903 - Print a line of text. Like above, but will print
  957.          the string past the JSR call. Use .byt 0 to end the string.
  958.  
  959.              JSR $0903
  960.              .ASC "This is a text string."
  961.              .BYT 0
  962.              more stuff....
  963.  
  964.              $0906 - Works like $0903, but will print up to 40
  965.          characters to the status line.
  966.  
  967.              JSR $0906
  968.              .ASC "This appears on row 24"
  969.              .BYT 0
  970.              more stuff....
  971.  
  972.              $0909 - Hex to decimal conversion routine. Enter with .X
  973.          = lo byte, .Y = hi byte. Exits with DECML (34-39) containing
  974.          the decimal string, in REVERSED order.
  975.              $090C - Milli Second delay timer. Enter with .X  =  milli
  976.          seconds lo byte, .Y = milli seconds hi byte. .A will be lost.
  977.              $090F - Jiffy delay. Enter with .A containing from 1 to
  978.          255 jiffies (1/60 second).
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.              $0912 - Screen Input Routine. Enter with .A = # bytes to
  997.          input/clear, .X = row, and .Y = column. Returns with length
  998.          of input in .A, and the data in the input buffer @ 60
  999.          decimal.
  1000.              $0915 - Find file routine. Enter with .X/.Y = low/hi byte
  1001.          pointers to a file name of length 16, padded with shifted
  1002.          spaces. Carry will be cleared if not found, set if found, .A
  1003.          = type, .X/.Y = file size.
  1004.              $0918 - Hex to decimal 2 byte converter. This converts
  1005.          any hex digit from 0 to 99 in .A. Returns with .x as the
  1006.          first digit, and .Y as the second digit.
  1007.              $091B - Evaluate Integer. Will take a 1 to 5 character
  1008.          digit string in the input buffer at 60 dec, and convert it to
  1009.          hex. Enter with the input buffer and input length (15 dec)
  1010.          set, and call this routine. Returns with carry clear if it
  1011.          wouldn't evaluate, carry set if it was ok, .x/.y = lo/hi
  1012.          bytes of integer string.
  1013.  
  1014.              The modem file must start at $4600, and you must create a
  1015.          jump table at $4600, such as:
  1016.  
  1017.              *=$4600
  1018.              jmp autodial
  1019.              jmp answer
  1020.              jmp off-hook
  1021.              jmp on-hook
  1022.  
  1023.              Autodialing. .X and .Y contain the lo/hi byte pointers to
  1024.          the 18 character dialing text string. See the source for 1650
  1025.          and 1670 codes for how to break it down. You may use the
  1026.          upper 60 bytes of the input buffer as zero page use (80-140).
  1027.          Return with:
  1028.  
  1029.             Carry Clear is STOP key was hit to abort dialing.
  1030.             Carry set, AND:
  1031.                  Zero flag set (BEQ) if the autodial was successful,
  1032.          and a carrier was detected.
  1033.                  Zero flag clear (BNE) if the autodial did not give a
  1034.          carrier.
  1035.  
  1036.              Auto-answer. Exit with carry clear if STOP was hit, or
  1037.          carry set if carrier is detected.
  1038.  
  1039.              Off-hook, and on-hook, should be done and just use an
  1040.          RTS. No special requirements here.
  1041.  
  1042.              Please consult the source code for more info. Note that
  1043.          you can ignore the pulse delay @ 878/9 dec, the carrier wait
  1044.          delay @ 880, and the hangup delay @ 881 dec. I just used it
  1045.          in the original code, and it's use is not needed in your own
  1046.          routines.
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.                       Info On DarkTerm 4 / DarkStar BBS-3
  1063.                       -----------------------------------
  1064.  
  1065.              This terminal program was written and debugged over a 3
  1066.          week period. Much of the basic i/o routines were taken from
  1067.          V3, but much has been changed. I am sure that all the minor
  1068.          irritations I have received about V1/2/3 have been resolved,
  1069.          and I suggest you only use this version. I know that the lack
  1070.          of easy help menus may affect ease of use, but I needed the
  1071.          space, and I found large menus to be real memory gobblers.
  1072.              I may add an auto-mode overlay later on, but it will  not
  1073.          require any changes to the current program if I do make the
  1074.          changes.
  1075.  
  1076.  
  1077.              DarkTerm V4.0 Memory Map:
  1078.              -------------------------
  1079.  
  1080.              $0400-$05FF - Function key storage
  1081.              $0600-$07FF - Variable storage
  1082.              $0800-$3EE1 - Main code
  1083.              $3EE2-$45FF - Punter/Xmodem Protcol Overlay Area
  1084.              $4600-$49FF - Modem file overlay area
  1085.              $4A00-$4BFF - RS232 Buffers
  1086.              $4C00-$CBFF - 32k Buffer
  1087.              $4C00-$5E00 - Edit Link Overlay
  1088.              $4C00-$XXXX - Phone directory storage
  1089.              $4C00-$XXXX - Auto-Mode expansion
  1090.              $CC00-$CFFF - Screen memory
  1091.              $E000-$EFFF - Custom character storage
  1092.              $F000-$F7FF - Screen swapping area
  1093.              $F800-$FFFF - Not Used
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.                                DarkStar BBS V3.0
  1129.                                -----------------
  1130.  
  1131.              These are actually 2 BBS programs in 1, a full color BBS
  1132.          program, and an ascii BBS. Each are basically identical, and
  1133.          offer many features. It is a user definable system, and is
  1134.          far too in-depth to explain. This is not the V1 system that
  1135.          was released as a prototype, but a new system with many
  1136.          features added. If you would like an info sheetmailed to
  1137.          you, send a SASE and anything you want to say in a letter  to
  1138.          the address below. If you want to order the 2 disk BBS system
  1139.          program, then read the classifieds in Oct-Nov-Dec issues of
  1140.          Computes! Gazette. Cost: $49.95 US ($69.95 Cdn) to address
  1141.          below. Please send any bug problems to me via easyplex on
  1142.          Compuserve. My user id# will be next to terminal files I have
  1143.          uploaded there.
  1144.  
  1145.           A. L. Peters
  1146.           August 4, 1986
  1147.  
  1148.  
  1149.           DarkStar Systems Software
  1150.           113 ValleyWoods Road, Unit 95
  1151.           Don Mills, Ontario
  1152.           Canada M3A 2R8
  1153.  
  1154.  
  1155.              Phone our 24 hour BBS at (416) 445-6788. Log on with the
  1156.          name of "DARK STAR", password "DEMO", in color mode.
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.